/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.mybeans;

import java.sql.Date;
 
/**
 *
 * @author avbravo
 */
  
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;

public class RecibesAnuladosBeans {

    private int IdRecibo;
    private java.sql.Date FechaAnulacion;
    private java.sql.Date Fecha;
    private String Autorizado;
    private String Motivo;
   private String IdMunicipio;
    private String UserName;
    Sesion sesion;

    public RecibesAnuladosBeans() {
        sesion = new Sesion();
    }

    public String getAutorizado() {
        return Autorizado;
    }

    public void setAutorizado(String Autorizado) {
        this.Autorizado = Autorizado;
    }

    public Date getFechaAnulacion() {
        return FechaAnulacion;
    }

    public void setFechaAnulacion(Date FechaAnulacion) {
        this.FechaAnulacion = FechaAnulacion;
    }

    public String getMotivo() {
        return Motivo;
    }

    public void setMotivo(String Motivo) {
        this.Motivo = Motivo;
    }

  

    public int getIdRecibo() {
        return IdRecibo;
    }

    public void setIdRecibo(int IdRecibo) {
        this.IdRecibo = IdRecibo;
    }

   
 
    public Date getFecha() {
        return Fecha;
    }

    public void setFecha(Date Fecha) {
        this.Fecha = Fecha;
    }

    

    public String getIdMunicipio() {
        return IdMunicipio;
    }

    public void setIdMunicipio(String IdMunicipio) {
        this.IdMunicipio = IdMunicipio;
    }

   

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String UserName) {
        this.UserName = UserName;
    }

  
    /*
     * Guarda el recibo
     *
     */
    public boolean GuardarReciboAnulado() {
        try {

            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            String sqlquery = "select * from recibesanulados where idmunicipio = ? and idrecibo =?";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            psquery.setInt(2, IdRecibo);
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();

            if (x != 0) {
                JOptionPane.showMessageDialog(null, "Existe un recibo con ese numero", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                sesion.con.close();
                return false;
            }

            String sql = "INSERT into recibesanulados (idrecibo,fechaanulacion,autorizado,motivo,idmunicipio,idusuario,fecha)"+
                    " values( ?,?,?,?,?,?,?)";


            PreparedStatement prest = sesion.con.prepareStatement(sql);

            prest.setInt(1, IdRecibo);

            prest.setDate(2, FechaAnulacion); //fecha

            prest.setString(3, Autorizado);
            prest.setString(4, Motivo);
            prest.setString(5, sesion.getIdmunicipio());
                     prest.setString(6, sesion.getUsername());
            prest.setDate(7, Fecha);
            
            int count = prest.executeUpdate();
            sesion.con.close();
            return true;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Clase:RecibesAnuladosBeans.java\nMetodo:GuardarReciboAnulado() " + ex.getMessage().toString());
        }
        return false;
    }

    public boolean ConsultarReciboAnulado() {
        try {
         
            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            String sqlquery = "select recibesanulados.*, usuarios.usuario from recibesanulados, usuarios where recibesanulados.idmunicipio = ? and recibesanulados.idrecibo =? and recibesanulados.anulado='no' and usuarios.idmunicipio = ? and usuarios.username = recibesanulados.idusuario and usuarios.activo='si'";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            psquery.setInt(2, IdRecibo);
            psquery.setString(3, sesion.getIdmunicipio());
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();
            if (x == 0) {
                JOptionPane.showMessageDialog(null, "No existe un recibo con ese numero", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                sesion.con.close();
                return false;
            }


            FechaAnulacion = rs.getDate("fechaanulacion");
            Fecha = rs.getDate("fecha");
            this.Autorizado = rs.getString("autorizado");
            this.Motivo = rs.getString("motivo");
            this.UserName = rs.getString("usuario");

            sesion.con.close();
            

            return true;
        } catch (Exception ex) {

            JOptionPane.showMessageDialog(null, "Clase:RecibesAnuladosBeans.java\nMetodo:ConsultarRecibo()\nError: " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
        return false;
    }
} //class

